2020年最具“钱途”的编程语言
对编程语言进行比较是一件复杂的事情,有许多图片/笑话试图表现不同的编程语言。简单来讲,编程语言能让人类能够对机器控制的更好,因此很自然有这么多编程语言出现,让人们对其机器处理更强大、简单和从容。
也正因为这些原因,这个星球出现了数百种编程语言,其中有一些编程语言现在已不复使用,或在未来几年会被淘汰。还有一些语言将证明在未来或几年中继久使用,还有有新的编程语言涌现并希望得到开发者的接受和喜欢。
本文将介绍顶尖编程语言的发展趋势,相信这些趋势在2020年会再继续。为了预测趋2020年编程语言趋势,本文采用了不同编程语言的数据调查、统计根据、搜索结果和薪酬趋势。我们将帮助初学者选择合适的编程语言学习和深入,这有助于随时切换到另一种语言或继续更专业的使用该语言。
在下面的内容中,我们准备了两个表,总结了过去五年来(2015-2019)语言的发展趋势。该数据来自Stackoverflow的热点语言调查。
为了更清楚准确地理解,我将编程语言分为两组,第一组是2000年以前发布的语言,第二组是2000年以后的语言。选择2000年只是作为随机边界,但对于理解这两组的编程趋势有帮助。该表还列出了这些编程或脚本语言的起源年份与主要目标。
语言 | 起源 | 2015年 | 2016 | 2017年 | 2018 | 2019 | 主要目标 |
Javascript | 1995年 | 54.4% | 55.4% | 62.5% | 71.5% | 67.8% | Web开发,动态内容,客户端和服务器端 |
Java | 1995年 | 37.4% | 36.3% | 39.7% | 45.4% | 41.1% | 企业应用 |
Bash/Shell | 1971年至1979年 | - | - | - | 40.4% | 36.6% | 自动化和系统管理 |
Python | 1991年 | 23.8% | 24.9% | 32.0% | 37.9% | 41.7% | 通用用途 |
PHP | 1995年 | 29.7% | 25.9% | 28.1% | 31.4% | 26.4% | Web开发,服务器端 |
C ++ | 1980至83年 | 20.6% | 19.4% | 22.3% | 24.6% | 23.5% | 通用用途 |
C | 1972年 | 16.4% | 15.5% | 19.0% | 22.1% | 20.6% | 通用,底层编程 |
Ruby | 1995年 | 8% | 8.9% | 9.1% | 10.3% | 8.4% | Web开发 |
R | 1993年 | - | - | 4.5% | 6.0% | 5.8% | 统计计算 |
Objective-C | 1986年 | 7.8% | 6.5% | 6.4% | 7.3% | 4.8% | 通用用途 |
总结&观察:
除了Python语言外,从2018年到2019年所有语言的流行度都在下降。
Python
Python是自过去五年以来不断上升的唯一语言。它是一种通用语言,因此有人希望在2020年只学习一门编程,并希望涵盖最多的软件开发领域,可以选择Python 。
Java
Java在2019年排名有所下降,原因是Kotlin在Android平台上获得了普及。
Java是编程语言中是个很好的选择,但现在它在Oracle旗下,谷歌正在推广Kotlin,这使用Kotlin处于冲突区域。事实上,由于其开发人员遗留的基础框架和应用程序,大多数的公司仍在使用并继续使用Java。
C / C ++
C和C ++在市场中保持着大约20%份额,由于其固有的功能与历史遗留系统,它将会长期存在。
JavaScript
JavaScript受欢迎程可归功于流行的JavaScript库以及node.js等框架的增长。JS曾经只是做动态网站的语言,由于其开发积极活跃,Mozilla的支持,它或将成为未来几年的首选,包括库和框架。如果有人想要进行Web开发,那么javascript是必须要学的。
R
R在近年来受到欢迎,原因在于大数据分析的增长与普及。它被数据科学家经常使用,但与Python相比,后者已经成为通用语言,但R有拥有大量数据科学库和模块,也有不少活跃的开发人员。你可以喜欢的Python,也可以喜欢R ,但他们只能选择一个,数据科学家的选择会一个不错的决定。
Ruby
Ruby面临着来自JavaScript甚至Python的激烈竞争,后两者也一样可以开发后端Web。因此,对于Web开发使用JavaScript和Python(服务器端Flask,Django等)是一个不错的选择,并将提供比Ruby更多的灵活性。
PHP
在2019年,PHP流行度有所下降,主要是服务器端对JavaScript和Python的接受程度越来越大。但如果你想要进行服务器端Web开发,可以使用PHP大量的开源软件以及流行的框架(如CakePHP,Codeigniter,Laravel等)来使用PHP 。
OBJECTIVE-C
在Apple迁移到Swift语言之前,Objective-C是Apple软件开发的主要语言,如macOS,iOS等。受官方的影响,Objective-C的受欢迎程度下降,而Swift的普及正在上升。所以,如果想成为Apple产品的开发者,Swift是首选语言。
语言 | 起源 | 2017年 | 2018 | 2019 |
Swift | 2014 | 6.5% | 8.3% | 6.6% |
Go | 2009年 | 4.3% | 7.2% | 8.2% |
Kotlin | 2011 | Google支持 | 4.7% | 6.4% |
Scala | 2003 | 3.6% | 4.5% | 3.8% |
Juila | 2012 | - | - | - |
C# | 2001年 | 34.1% | 34.4% | 31.0% |
Rust | 2010 | - | - | 3.2% |
Clojure | 2007年 | - | - | 1.4% |
总结&观察:
Swift
Swift取代了Objective-C作为Apple相关软件和应用开发的主要语言。由于苹果支持和推广它,因此受欢迎程度越来越高,所以如果有人想开发Apple的平台的软件,那么Swift将成为一种必须了解的语言。这个语言是供应商和产品特定的语言,在Apple的生态系统外使用率非常低。
Go
Go(Golang)越来越受到Google的支持、维护与推广。Go开发的动机是解决对一些流行语言的缺点,并希望保持最佳状态。从2017年以来,Go的受欢迎程度越来越高,在谷歌的支持下,在未来几年内会更加提升。谷歌会将Go作为新项目的主要语言,并希望用Go取代其他语言,这种趋势在未来几年会所有体现,对于开发者来说也非常重要。因此人们可以选择Go作为编程语言学习。
Kotlin
Kotlin正在作为一种替代Java的Android开发语言。它也是谷歌支持和推动的语言之一,近年来也在开发者中越来越受到欢迎。随着Android系统的增长,Google的支持,凭借其简洁的语法,它成为Android 开发人员的一个优良选项。用不了多久,Kotlin将成为Android 开发的优秀编程环境。
Scala
Scala试图成为Java的替代品,但在开发人员中间并未得到很好的反映。它没有任何跨国公司的大力支持,其被认为是一种函数式语言,对JVM的依赖,并没有提供太大的普及范围。它可能会有稳定的增长,但速度很慢,可以肯定,它并不适合初学者学习。
Julia
Julia旨在提高“C”的速度和Python的简单性。但奇怪的是,在Stackoverflow 调查中没有任何数据表明其流行度,但它却在数据科学领域受到追捧,从长远来看可能是R和Python的挑战者。Julia一定会有所增长,但是,Python 或 R 更适合工作和成长。
C#
C#是.NET框架的语言,由微软开发。它的受欢迎程度在过去几年中基本没有太多变化,并将继续保持类似的趋势。这是因为特定于软件供应商的语言,如果你是在Microsoft开发环境中工作,可以选择此语言。最近,微软已将.NET开源,因此会出现一些上升趋势,但是由于其是特定于软件供应商,可能不会有特别大的提升。
Rust
Rust、Clojure等语言具有一定的用户基础,但是那种不那么流行的语言,因为也不会有特别大的人气上升。
一张图片抵千言万语
要了解最顶级的编程语言增长的趋势和图表,我们可以通过以下图表来了解它。
图1和图2给出了一个非常清晰的描绘,在旧的语言技术栈中,JavaScript远远领先于其它语言,并且在Web开发中还占据了一席之地,然后C和C++兄弟联手竞争与Java非常接近。
Python受欢迎程度上越来越高。在过去的5年里,只有它是人气不断增加的语言。虽然新语言层出不穷,但大多数语言都由跨国公司如微软、谷歌和苹果等巨头支持。
人们最想要学习的语言
编程语言 | 2015年 | 2016 | 2017年 | 2018 | 2019 |
Rust | 73.8 | 79.1 | 73.1 | 78.9 | 83.5 |
Kotlin | 0 | 0 | 0 | 75.1 | 72.6 |
Python | 66.6 | 62.5 | 62.7 | 68.0 | 73.1 |
Go | 72.5 | 68.7 | 63.3 | 65.6 | 67.9 |
Swift | 77.6 | 72.1 | 63.9 | 65.1 | 69.2 |
从上面的表格看到结果很明显,Rust的粉丝在过去五年中不断增长,而 Swift正在失去开发人员的喜爱,而Python处于这两个语言之间,过去两年中Python已经获益良多。另一个有意思的结果是,5个最喜爱的语言中有4种来自2000年后的群体,只有Python是较旧的语言,而Kotlin是从2017年才出现的Android 开发新语言。
编程语言 | 2015年 | 2016 | 2017年 | 2018 | 2019 |
JavaScript | 15.4 | 11.9 | 18.6 | 19.0 | 17.8 |
Python | 14.8 | 13.3 | 20.6 | 25.1 | 25.7 |
Java | 10.5 | - | 11.7 | 10.5 | 8.3 |
从上表可以看出,过去几个中JavaScript和Python开发需求在不断增长,这反映了人们对语言的热爱。Java的使用数量急剧下降,这是因为Kotlin已经成为Android应用开发的替代品,还有一个重要原因是,拥有Java的Oracle公司又改变了政策。
技术与编程语言
在这个图中,我们可以看到最大的集群是Web开发和JavaScript的和JS的各种框架,这些东西称霸集群,这体现出JavaScript的急据增长。
第二大集群是Microsoft 技术和Python 技术,它再次证明了对Python语言的欢迎和热爱。Python集群与大数据、AI技术密切关联,这些技术加速了Python的增长。
TIOBE指数
TIOBE 编程语言索引基于搜索引擎结果,搜索引擎和编程语言的选择在其页面中定义。通过计算最受欢迎的搜索引擎的点击来计算评级。使用的搜索查询是+“<language> programming”。
在 TIOBE索引中, Java在过去二十年中占据主导地位,其中 C在过去30年中一直保持着第一和第二的位置。在过去的二十年里, Python走过了一段漫长的道路,从1999年的第24位,到2019年的第3位。但如果有人合并 C和 C ++语言,那么它将永远占据第一的位置。
在新的编程语言(2000年后)中,Rust的排名明显上升,从第33位升至第28位,Julia从第50位升至第39位。值得留意的是,Kotlin 语言似乎并未到过前20名。
编程语言(PYPL)索引排行榜
PYPL指数是通过谷歌中分析搜索某个语言教程的创建的。搜索该语言教程越多,那么该语言就越受欢迎,这的确是一个领先的指标,其原始数据来自Google趋势。
下图说明了PYPL排行的前3种语言为Python、Java和JavaScript。另外C#、PHP、C/C ++也是较稳定前几名位置,这个排行榜趋势与StackOverflow和TIOBE索引很像。
我们看上图显示,在新的编程语言序列中,即2000年后的Kotlin、Go、Rust和Julia在排名中在上升。
就业市场与薪酬
薪酬与产品的地理区域和需求息息相关,基于编程语言的薪资比较只是预测或估计薪资趋势的工具。
我们根据流行调查汇总了编程语言的薪资排行,其依据为2018年的Dice薪资调查和2018年和2019年的Stack-overflow调查。如下表格:
编程语言 | 骰子工资调查(2018年) | 堆栈溢出调查(2018年) | 堆栈溢出调查(2019年) |
Go | $ 132,827 | $ 66K | $ 80K |
Perl的 | $ 110,678 | $ 69K | NA |
Shell | $ 109,518 | $ 63K | $ 69K |
Node.js JavaScript | $ 105,418 | $ 55K | $ 56K |
在Java / J2EE | $ 105,164 | NA | $ 52K |
TypeScript | $ 103,680 | $ 60K | $ 60K |
Pyt | $ 103,587 | $ 56K | $ 63K |
红宝石 | 102,086美元 | $ 64K | $ 75K |
迅速 | $ 101,631 | $ 57K | $ 59K |
C# | $ 101,566 | $ 59K | $ 59K |
我们从上表可以看到,两项调查中Go/Golang在市场上是薪酬最高的职位,在2019年的StackOverflow调查和2018年Dice薪资调查中,在高薪工作中长期排名第一。
编程语言可预测性
那么,作为结束语,通过数据是很容易预测语言的趋势的,但如果只想选一门语言学习将是一个非常艰难的决定,这取决于个人喜好和严谨的计划。比如,你是从事Web开发就不能忽视JavaScript;如果你想使用Apple产品就不能忽视Swift;如果你的口味是系统级编程,那么C/C++就是你的朋友,Python让你在诸多领域跑得很快,尤其现在热火的数据科学。
每种语言都会带您走上不同的美好旅程。选择好目的地,然后用这门语言纵横天下!
编译:洛逸,21CTO社区创始人。
原作:Ajit Kumar
21CTO学院PHP全栈工程师训练营开始招生啦
做了几年21CTO技术社区,又创业写了好几本书。直到心里有非常富足的信心,从社区的链接到O2O培训了。
下面我开始播送广告:
21CTO学院PHP全栈开发训练营正在招生中,由我亲自授课,座位有限。报名即有机会进入一线互联网公司。相信我的,学真本事,练真项目,做真产品。欢迎各位童鞋推荐&报名、速度联系我哦~
相关阅读:
PYPL 二月榜单发布:最受欢迎的编程语言、IDE 和数据库都是哪些?